package org.comple.erp.pojo.procurement;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 
 * @TableName procurement_order
 */
@Getter
@Setter
@EqualsAndHashCode
@ContentRowHeight(15)
@HeadRowHeight(20)
@ColumnWidth(25)
public class ProcurementOrder implements Serializable {
    /**
     * 
     */
    @ExcelProperty("采购订单主键Id")
    private String procurementOrder_id;

    /**
     * 
     */
    @DateTimeFormat("yyyy年MM月dd日")
    @ExcelProperty("采购订单日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date procurementOrder_date;

    /**
     * 
     */
    @ExcelProperty("采购订单编号")
    private String procurementOrder_code;

    /**
     * 
     */
    @ExcelIgnore
    private String procurement_type;

    /**
     * 
     */
    @ExcelProperty("供应商编号")
    private String supplier_code;

    /**
     * 
     */
    @ExcelProperty("供应商名称")
    private String supplier_name;


    @ExcelIgnore
    private Integer staff_id;

    /**
     * 
     */
    @ExcelIgnore
    private Integer department_id;

    /**
     * 
     */
    @ExcelProperty("关联采购单号")
    private String procurement_code;

    /**
     * 
     */
    @ExcelIgnore
    private String salesSlip_code;

    /**
     * 
     */
    @ExcelIgnore
    private String comparison_code;

    /**
     * 
     */
    @ExcelProperty("采购金额")
    private BigDecimal procurement_amount;

    /**
     * 
     */
    @ExcelProperty("折扣金额")
    private BigDecimal discount_amount;

    /**
     * 
     */
    @ExcelProperty("折扣后金额")
    private BigDecimal afterDiscount_amount;

    /**
     * 
     */
    @ExcelProperty("税额")
    private BigDecimal tax_amount;

    /**
     * 
     */
    @ExcelProperty("采购数量")
    private Integer procurementOrder_num;

    /**
     * 
     */
    @ColumnWidth(50)
    @ExcelProperty("采购订单状态（1-已保存 2-审核中 3-已审核 4-已驳回）")
    private Integer procurementOrder_status;

    /**
     * 
     */
    @DateTimeFormat("yyyy年MM月dd日")
    @ExcelProperty("交货日期（整单）")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date delivery_date;

    /**
     * 
     */
    @ExcelProperty("业务员")
    private String created_by;


    @ExcelIgnore
    private String created_id;

    /**
     * 
     */
    @DateTimeFormat("yyyy年MM月dd日")
    @ExcelProperty("制单时间")
    private Date created_date;

    /**
     * 
     */
    @ExcelProperty("审核人")
    private String checked_by;

    /**
     * 
     */
    @ExcelProperty("采购订单备注")
    private String procurementOrder_remark;

    /**
     * 
     */
    @ExcelProperty("交货方式")
    private String delivery_method;

    /**
     * 
     */
    @ExcelProperty("打印次数")
    private Integer printf_num;

    /**
     * 
     */
    @ExcelProperty("供应商地址")
    private String supplier_shippingAddress;

    /**
     * 
     */
    @ExcelProperty("公司编号")
    private String companyCode;

    @ExcelIgnore
    private Date audit_date;

    /**
     *
     */
    @ExcelIgnore
    private Integer isDelete;

    /**
     *忽略这个字符
     */
    @ExcelIgnore
    private Integer isProcurement;


    @ExcelIgnore
    private List<ProcurementOrderDetail> detailList;

    @ExcelIgnore
    private Integer procurementOrderDetail_id;
    @ExcelProperty("商品id")
    private String goods_id;
    @ExcelProperty("商品编号")
    private String goods_code;
    @ExcelProperty("商品")
    private String goods_name;
    @ExcelProperty("品牌")
    private String goods_brand;
    @ExcelProperty("属性")
    private String goods_specifiction;
    @ExcelProperty("商品备注")
    private String goods_remark;
    @ExcelProperty("单位")
    private String goods_moreUint;
    @ExcelProperty("仓库")
    private String goods_store;
    @ExcelProperty("可用库存")
    private Integer store_userNum;
    @ExcelProperty("数量（明细）")
    private Integer procureDetails_num;
    @ExcelProperty("基本单位")
    private String goods_unit;
    @ExcelProperty("基本数量")
    private Integer unit_num;
    @DateTimeFormat("yyyy年MM月dd日")
    @ColumnWidth(40)
    @ExcelProperty("交货日期（明细）")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date procurementDetails_Deliverydate;
    @ExcelProperty("购货单价")
    private BigDecimal goods_price;
    @ExcelIgnore
    private BigDecimal sale_price;
    @ExcelIgnore
    private BigDecimal wholeSale_price;
    @ColumnWidth(40)
    @ExcelProperty("赠品（0-否 1-是）")
    private Boolean gift;
    @ExcelProperty("含税单价")
    private BigDecimal afterDiscount_price;
    @ExcelProperty("含税单价")
    private BigDecimal taxPrice;
    @ExcelProperty("折后含税单价")
    private BigDecimal afterDiscount_taxPrice;
    @ExcelProperty("折扣率（%）")
    private Integer discount;
    @ExcelProperty("折后单价")
    private BigDecimal discount_price;
    @ExcelProperty("折扣额")
    private BigDecimal detail_discount_amount;
    @ExcelProperty("金额")
    private BigDecimal amount;
    @ExcelProperty("税率（%）")
    private Integer tax;
    @ExcelProperty("税额")
    private BigDecimal detail_tax_amount;
    @ExcelProperty("价税合计")
    private BigDecimal totalAmount_includingTax;
    @ExcelIgnore
    private String procurementDetails_salesOrder_code;
    @ExcelIgnore
    private Integer outstanding_quantity;

    private static final long serialVersionUID = 1L;


    public String getProcurementOrder_id() {
        return procurementOrder_id;
    }

    public void setProcurementOrder_id(String procurementOrder_id) {
        this.procurementOrder_id = procurementOrder_id;
    }

    /**
     * 
     */
    public Date getProcurementOrder_date() {
        return procurementOrder_date;
    }

    /**
     * 
     */
    public void setProcurementOrder_date(Date procurementOrder_date) {
        this.procurementOrder_date = procurementOrder_date;
    }

    /**
     * 
     */
    public String getProcurementOrder_code() {
        return procurementOrder_code;
    }

    public Date getAudit_date() {
        return audit_date;
    }

    public void setAudit_date(Date audit_date) {
        this.audit_date = audit_date;
    }

    /**
     * 
     */
    public void setProcurementOrder_code(String procurementOrder_code) {
        this.procurementOrder_code = procurementOrder_code;
    }

    /**
     * 
     */
    public String getProcurement_type() {
        return procurement_type;
    }

    /**
     * 
     */
    public void setProcurement_type(String procurement_type) {
        this.procurement_type = procurement_type;
    }

    /**
     * 
     */
    public String getSupplier_code() {
        return supplier_code;
    }

    /**
     * 
     */
    public void setSupplier_code(String supplier_code) {
        this.supplier_code = supplier_code;
    }


    public String getCreated_id() {
        return created_id;
    }

    public void setCreated_id(String created_id) {
        this.created_id = created_id;
    }

    /**
     * 
     */
    public Integer getStaff_id() {
        return staff_id;
    }

    /**
     * 
     */
    public void setStaff_id(Integer staff_id) {
        this.staff_id = staff_id;
    }

    /**
     * 
     */
    public Integer getDepartment_id() {
        return department_id;
    }

    /**
     * 
     */
    public void setDepartment_id(Integer department_id) {
        this.department_id = department_id;
    }

    /**
     * 
     */
    public String getProcurement_code() {
        return procurement_code;
    }

    /**
     * 
     */
    public void setProcurement_code(String procurement_code) {
        this.procurement_code = procurement_code;
    }

    /**
     * 
     */
    public String getSalesSlip_code() {
        return salesSlip_code;
    }

    /**
     * 
     */
    public void setSalesSlip_code(String salesSlip_code) {
        this.salesSlip_code = salesSlip_code;
    }

    /**
     * 
     */
    public String getComparison_code() {
        return comparison_code;
    }

    /**
     * 
     */
    public void setComparison_code(String comparison_code) {
        this.comparison_code = comparison_code;
    }

    /**
     * 
     */
    public BigDecimal getProcurement_amount() {
        return procurement_amount;
    }

    public void setProcurement_amount(BigDecimal procurement_amount) {
        this.procurement_amount = procurement_amount;
    }

    public BigDecimal getDiscount_amount() {
        return discount_amount;
    }

    public void setDiscount_amount(BigDecimal discount_amount) {
        this.discount_amount = discount_amount;
    }

    public BigDecimal getAfterDiscount_amount() {
        return afterDiscount_amount;
    }

    public void setAfterDiscount_amount(BigDecimal afterDiscount_amount) {
        this.afterDiscount_amount = afterDiscount_amount;
    }

    public BigDecimal getTax_amount() {
        return tax_amount;
    }

    public void setTax_amount(BigDecimal tax_amount) {
        this.tax_amount = tax_amount;
    }

    /**
     * 
     */
    public Integer getProcurementOrder_num() {
        return procurementOrder_num;
    }

    /**
     * 
     */
    public void setProcurementOrder_num(Integer procurementOrder_num) {
        this.procurementOrder_num = procurementOrder_num;
    }

    /**
     * 
     */
    public Integer getProcurementOrder_status() {
        return procurementOrder_status;
    }

    /**
     * 
     */
    public void setProcurementOrder_status(Integer procurementOrder_status) {
        this.procurementOrder_status = procurementOrder_status;
    }

    /**
     * 
     */
    public Date getDelivery_date() {
        return delivery_date;
    }

    /**
     * 
     */
    public void setDelivery_date(Date delivery_date) {
        this.delivery_date = delivery_date;
    }

    /**
     * 
     */
    public String getCreated_by() {
        return created_by;
    }

    /**
     * 
     */
    public void setCreated_by(String created_by) {
        this.created_by = created_by;
    }

    /**
     * 
     */
    public Date getCreated_date() {
        return created_date;
    }

    /**
     * 
     */
    public void setCreated_date(Date created_date) {
        this.created_date = created_date;
    }

    /**
     * 
     */
    public String getChecked_by() {
        return checked_by;
    }

    /**
     * 
     */
    public void setChecked_by(String checked_by) {
        this.checked_by = checked_by;
    }

    /**
     * 
     */
    public String getProcurementOrder_remark() {
        return procurementOrder_remark;
    }

    /**
     * 
     */
    public void setProcurementOrder_remark(String procurementOrder_remark) {
        this.procurementOrder_remark = procurementOrder_remark;
    }

    /**
     * 
     */
    public String getDelivery_method() {
        return delivery_method;
    }

    /**
     * 
     */
    public void setDelivery_method(String delivery_method) {
        this.delivery_method = delivery_method;
    }

    /**
     * 
     */
    public Integer getPrintf_num() {
        return printf_num;
    }

    /**
     * 
     */
    public void setPrintf_num(Integer printf_num) {
        this.printf_num = printf_num;
    }

    /**
     * 
     */
    public String getSupplier_shippingAddress() {
        return supplier_shippingAddress;
    }

    /**
     * 
     */
    public void setSupplier_shippingAddress(String supplier_shippingAddress) {
        this.supplier_shippingAddress = supplier_shippingAddress;
    }

    /**
     * 
     */
    public String getCompanyCode() {
        return companyCode;
    }

    public void setCompanyCode(String companyCode) {
        this.companyCode = companyCode;
    }

    /**
     * 
     */
    public Integer getIsDelete() {
        return isDelete;
    }

    /**
     * 
     */
    public void setIsDelete(Integer isDelete) {
        this.isDelete = isDelete;
    }

    public String getSupplier_name() {
        return supplier_name;
    }

    public void setSupplier_name(String supplier_name) {
        this.supplier_name = supplier_name;
    }

    public List<ProcurementOrderDetail> getDetailList() {
        return detailList;
    }

    public void setDetailList(List<ProcurementOrderDetail> detailList) {
        this.detailList = detailList;
    }

    public Integer getProcurementOrderDetail_id() {
        return procurementOrderDetail_id;
    }

    public void setProcurementOrderDetail_id(Integer procurementOrderDetail_id) {
        this.procurementOrderDetail_id = procurementOrderDetail_id;
    }

    public String getGoods_code() {
        return goods_code;
    }

    public void setGoods_code(String goods_code) {
        this.goods_code = goods_code;
    }

    public String getGoods_name() {
        return goods_name;
    }

    public void setGoods_name(String goods_name) {
        this.goods_name = goods_name;
    }

    public String getGoods_brand() {
        return goods_brand;
    }

    public void setGoods_brand(String goods_brand) {
        this.goods_brand = goods_brand;
    }

    public String getGoods_specifiction() {
        return goods_specifiction;
    }

    public void setGoods_specifiction(String goods_specifiction) {
        this.goods_specifiction = goods_specifiction;
    }

    public String getGoods_remark() {
        return goods_remark;
    }

    public void setGoods_remark(String goods_remark) {
        this.goods_remark = goods_remark;
    }

    public String getGoods_moreUint() {
        return goods_moreUint;
    }

    public void setGoods_moreUint(String goods_moreUint) {
        this.goods_moreUint = goods_moreUint;
    }

    public String getGoods_store() {
        return goods_store;
    }

    public void setGoods_store(String goods_store) {
        this.goods_store = goods_store;
    }

    public Integer getStore_userNum() {
        return store_userNum;
    }

    public void setStore_userNum(Integer store_userNum) {
        this.store_userNum = store_userNum;
    }

    public Integer getProcureDetails_num() {
        return procureDetails_num;
    }

    public void setProcureDetails_num(Integer procureDetails_num) {
        this.procureDetails_num = procureDetails_num;
    }

    public String getGoods_unit() {
        return goods_unit;
    }

    public void setGoods_unit(String goods_unit) {
        this.goods_unit = goods_unit;
    }

    public Integer getUnit_num() {
        return unit_num;
    }

    public void setUnit_num(Integer unit_num) {
        this.unit_num = unit_num;
    }

    public Date getProcurementDetails_Deliverydate() {
        return procurementDetails_Deliverydate;
    }

    public void setProcurementDetails_Deliverydate(Date procurementDetails_Deliverydate) {
        this.procurementDetails_Deliverydate = procurementDetails_Deliverydate;
    }

    public BigDecimal getGoods_price() {
        return goods_price;
    }

    public void setGoods_price(BigDecimal goods_price) {
        this.goods_price = goods_price;
    }

    public BigDecimal getSale_price() {
        return sale_price;
    }

    public void setSale_price(BigDecimal sale_price) {
        this.sale_price = sale_price;
    }

    public BigDecimal getWholeSale_price() {
        return wholeSale_price;
    }

    public void setWholeSale_price(BigDecimal wholeSale_price) {
        this.wholeSale_price = wholeSale_price;
    }

    public Boolean getGift() {
        return gift;
    }

    public void setGift(Boolean gift) {
        this.gift = gift;
    }

    public BigDecimal getAfterDiscount_price() {
        return afterDiscount_price;
    }

    public void setAfterDiscount_price(BigDecimal afterDiscount_price) {
        this.afterDiscount_price = afterDiscount_price;
    }

    public BigDecimal getTaxPrice() {
        return taxPrice;
    }

    public void setTaxPrice(BigDecimal taxPrice) {
        this.taxPrice = taxPrice;
    }

    public BigDecimal getAfterDiscount_taxPrice() {
        return afterDiscount_taxPrice;
    }

    public void setAfterDiscount_taxPrice(BigDecimal afterDiscount_taxPrice) {
        this.afterDiscount_taxPrice = afterDiscount_taxPrice;
    }

    public Integer getDiscount() {
        return discount;
    }

    public void setDiscount(Integer discount) {
        this.discount = discount;
    }

    public BigDecimal getDiscount_price() {
        return discount_price;
    }

    public void setDiscount_price(BigDecimal discount_price) {
        this.discount_price = discount_price;
    }

    public BigDecimal getDetail_discount_amount() {
        return detail_discount_amount;
    }

    public void setDetail_discount_amount(BigDecimal detail_discount_amount) {
        this.detail_discount_amount = detail_discount_amount;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public Integer getTax() {
        return tax;
    }

    public void setTax(Integer tax) {
        this.tax = tax;
    }

    public BigDecimal getDetail_tax_amount() {
        return detail_tax_amount;
    }

    public void setDetail_tax_amount(BigDecimal detail_tax_amount) {
        this.detail_tax_amount = detail_tax_amount;
    }

    public BigDecimal getTotalAmount_includingTax() {
        return totalAmount_includingTax;
    }

    public void setTotalAmount_includingTax(BigDecimal totalAmount_includingTax) {
        this.totalAmount_includingTax = totalAmount_includingTax;
    }

    public String getProcurementDetails_salesOrder_code() {
        return procurementDetails_salesOrder_code;
    }

    public void setProcurementDetails_salesOrder_code(String procurementDetails_salesOrder_code) {
        this.procurementDetails_salesOrder_code = procurementDetails_salesOrder_code;
    }

    public Integer getOutstanding_quantity() {
        return outstanding_quantity;
    }

    public void setOutstanding_quantity(Integer outstanding_quantity) {
        this.outstanding_quantity = outstanding_quantity;
    }

    public Integer getIsProcurement() {
        return isProcurement;
    }

    public void setIsProcurement(Integer isProcurement) {
        this.isProcurement = isProcurement;
    }

    public String getGoods_id() {
        return goods_id;
    }

    public void setGoods_id(String goods_id) {
        this.goods_id = goods_id;
    }
}